com.supermap.navi
类 Navigation2
- java.lang.Object
-
- com.supermap.navi.Navigation2
-
public class Navigation2 extends java.lang.Object
行业导航类,提供基于拓扑路网的路径分析与导引。支持使用定制的路网数据进行导航,并可以编辑修改路网数据;
支持设置道路权重和限制,限速设置与提示;
支持设置障碍路段、障碍点、障碍节点;
支持引导路径风格设置;
支持自定义的GPS加密;
可以根据应用需要调整导引信息显示的布局,并提供矢量地图的地图旋转功能(参考
setCarUpFront(boolean)
),网络地图暂不支持。
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 void
addNaviInfoListener(NaviListener listener)
添加导航引导信息更新监听器void
addWayPoint(double x, double y)
设置途经点坐标void
cleanPath()
清除路径分析结果。void
enablePanOnGuide(boolean bPan)
引导过程中是否允许平移地图。int[]
getBarrierEdges()
获取障碍边集合Point2Ds
getBarrierPoints()
获取障碍点集合double
getCarAngle()
获取小车角度。Point2D
getCarPosition()
获取小车位置。boolean
getCarUpFront()
获取是否小车车头向上double
getGuideEndDistance()
获取导航结束距离,单位米NaviPath
getNaviPath()
double
getNodeInterval()
获取分析点选择容限,单位米int
getPathID()
获取小车所在道路IDGeoLine
getRoute()
获取路径分析线路。boolean
isGuiding()
判断是否正在进行引导。boolean
isPassedRouteHidden()
是否隐藏走过的路线boolean
isSimpleVoiceMode()
语音播报是否为精简模式。boolean
isUseSensorAzimuth()
判断真实导航时导航图标方向是否使用传感器方向boolean
load()
将网络数据集转化为网络模型并加载。boolean
loadModel(java.lang.String filePath)
加载网络模型文件。void
locateMap()
导航中,小车在屏幕中居中显示void
pauseGuide()
暂停导航void
removeWayPoint()
移除所有途经点void
resumeGuide()
继续导航boolean
routeAnalyst()
最佳路径分析。boolean
routeAnalyst(java.lang.String weightFieldName)
最佳路径分析void
setAzimuthChangeListener(AzimuthChangeListener listener)
设置方位角变化监听器。void
setBarrierEdges(int[] value)
设置障碍边void
setBarrierNodes(int[] value)
设置障碍节点void
setBarrierPoints(Point2Ds value)
设置障碍点void
setBarrierPointsDuringNavi(Point2Ds value)
在导航进行中添加障碍点void
setCarPicture(android.graphics.Bitmap carBmp)
设置小车图标。void
setCarSize(float width, float height)
设置小车图标尺寸void
setCarUpFront(boolean value)
设置小车车头是否向上,设置为true时就能实现地图旋转。void
setClimbChangeListener(ClimbChangeListener listener)
设置到终点的累计爬升监听器。void
setDatasetPoint(DatasetVector value)
设置高程点数据集。void
setDestinationPoint(double x, double y)
设置目的点。void
setDeviateTolerance(double tolerance)
添加导航偏移容限,单位米void
setGPSData(LocationManagePlugin.GPSData newGps)
设置GPS数据。void
setGuideEndDistance(double distance)
设置真实导航(status=0)结束距离。void
setIsAutoNavi(boolean isAutoNavi)
设置是否自动采集GPS,设置为false时,需用户自己调用setGPSData传入GPS数据。void
setIsEncryptGPS(boolean isEncryptGPS)
设置是否加密GPS数据,默认加密。void
setNetworkDataset(DatasetVector value)
设置用于分析的网络数据集。void
setNodeInterval(double interval)
添加分析点选择容限,单位米(只有当大于0时有效,否则启用默认容限)void
setPassedRouteHidden(Map map, boolean isAutoHidden)
设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用void
setPathVisible(boolean isVisible)
设置分析路径是否可见。void
setRoadInfoVisibie(boolean visibie)
设置道路信息显示栏是否显示。void
setRouteStyle(GeoStyle value)
设置引导路径的样式void
setSimpleVoiceMode(boolean simpleVoiceMode)
设置语音播报为精简模式。boolean
setSimulationInterval(int interval)
设置模拟导航间隔时间(单位ms)boolean
setSimulationSpeed(double speed)
设置模拟导航速度(单位m/s)void
setSpeedField(java.lang.String value)
设置最高限速字段 限速字段是网络数据集(即setNetworkDataset(com.supermap.data.DatasetVector)
)中的一个记录速度的字段。void
setStartPoint(double x, double y)
设置起点。void
setTurnDataset(DatasetVector value)
设置转向表数据集。void
setUseSensorAzimuth(boolean useSensorAzimuth)
设置真实导航时导航时导航图标方向是否使用传感器方向 默认为true,仅真实导航该值有效。boolean
setWeightFieldInfos(WeightFieldInfos infos)
设置权重字段boolean
startGuide(int status)
开始引导。boolean
stopGuide()
停止引导。
-
-
-
方法详细资料
-
getRoute
public GeoLine getRoute()
获取路径分析线路。- 返回:
- 路径分析线路。
-
startGuide
public boolean startGuide(int status)
开始引导。- 参数:
status
- 引导模式。0:真实导航, 1:模拟导航。- 返回:
- 是否成功。
-
getCarAngle
public double getCarAngle()
获取小车角度。- 返回:
- 小车角度。
-
getCarPosition
public Point2D getCarPosition()
获取小车位置。- 返回:
- 小车位置。
-
isGuiding
public boolean isGuiding()
判断是否正在进行引导。- 返回:
- 是否正在进行引导。
-
cleanPath
public void cleanPath()
清除路径分析结果。
-
stopGuide
public boolean stopGuide()
停止引导。- 返回:
- 是否成功。
-
setPathVisible
public void setPathVisible(boolean isVisible)
设置分析路径是否可见。- 参数:
isVisible
- 是否可见。
-
setGPSData
public void setGPSData(LocationManagePlugin.GPSData newGps)
设置GPS数据。- 参数:
newGps
- GPS数据。
-
setNetworkDataset
public void setNetworkDataset(DatasetVector value)
设置用于分析的网络数据集。必选。- 参数:
value
- 网络数据集。
-
setTurnDataset
public void setTurnDataset(DatasetVector value)
设置转向表数据集。可选。- 参数:
value
- 转向表数据集。
-
load
public boolean load()
将网络数据集转化为网络模型并加载。- 返回:
- 是否成功。
-
loadModel
public boolean loadModel(java.lang.String filePath)
加载网络模型文件。- 参数:
filePath
- 内存文件路径。- 返回:
- 是否成功。
-
setStartPoint
public void setStartPoint(double x, double y)
设置起点。- 参数:
x
- 起点x坐标。y
- 起点y坐标。
-
setDestinationPoint
public void setDestinationPoint(double x, double y)
设置目的点。- 参数:
x
- 终点x坐标。y
- 终点y坐标。
-
routeAnalyst
public boolean routeAnalyst()
最佳路径分析。- 返回:
- 是否成功。
-
setIsEncryptGPS
public void setIsEncryptGPS(boolean isEncryptGPS)
设置是否加密GPS数据,默认加密。- 参数:
isEncryptGPS
- 设置是否加密。
-
setCarPicture
public void setCarPicture(android.graphics.Bitmap carBmp)
设置小车图标。- 参数:
carBmp
- 小车图标。
-
enablePanOnGuide
public void enablePanOnGuide(boolean bPan)
引导过程中是否允许平移地图。- 参数:
bPan
- 一个布尔值,用来指示在导航过程中是否允许平移地图,true,表示允许,false,表示不允许。
-
setRoadInfoVisibie
public void setRoadInfoVisibie(boolean visibie)
设置道路信息显示栏是否显示。- 参数:
visibie
- 是否显示。
-
setDatasetPoint
public void setDatasetPoint(DatasetVector value)
设置高程点数据集。可选。- 参数:
value
- 高程点数据集。
-
setIsAutoNavi
public void setIsAutoNavi(boolean isAutoNavi)
设置是否自动采集GPS,设置为false时,需用户自己调用setGPSData传入GPS数据。- 参数:
isAutoNavi
- 是否自动采集GPS,默认自动采集。
-
setClimbChangeListener
public void setClimbChangeListener(ClimbChangeListener listener)
设置到终点的累计爬升监听器。- 参数:
listener
- 到终点的累计爬升监听器。
-
setAzimuthChangeListener
public void setAzimuthChangeListener(AzimuthChangeListener listener)
设置方位角变化监听器。- 参数:
listener
- 方位角变化监听器。
-
addNaviInfoListener
public void addNaviInfoListener(NaviListener listener)
添加导航引导信息更新监听器- 参数:
listener
- 引导信息更新监听器
-
getBarrierEdges
public int[] getBarrierEdges()
获取障碍边集合- 返回:
- 障碍边的ID数组
-
getBarrierPoints
public Point2Ds getBarrierPoints()
获取障碍点集合- 返回:
- 障碍点集合
-
getCarUpFront
public boolean getCarUpFront()
获取是否小车车头向上- 返回:
- 小车车头向上,返回true;否则返回false
-
getNaviPath
public NaviPath getNaviPath()
- 返回:
- 返回当前导航路径的详情
-
getPathID
public int getPathID()
获取小车所在道路ID- 返回:
- 路径ID
-
locateMap
public void locateMap()
导航中,小车在屏幕中居中显示
-
pauseGuide
public void pauseGuide()
暂停导航
-
resumeGuide
public void resumeGuide()
继续导航
-
setBarrierEdges
public void setBarrierEdges(int[] value)
设置障碍边- 参数:
value
- 障碍边集合(参数为null时,为清空障碍边);其包含的int值为网络数据集中的线数据的SmID值
-
setBarrierNodes
public void setBarrierNodes(int[] value)
设置障碍节点- 参数:
value
- 障碍节点集合(参数为null时,为清空障碍节点);其包含的int值为网络数据集中的节点(Node)数据的SmID值
-
setBarrierPoints
public void setBarrierPoints(Point2Ds value)
设置障碍点- 参数:
value
- 障碍点集合(参数为null时,为清空障碍点)
-
setCarSize
public void setCarSize(float width, float height)
设置小车图标尺寸- 参数:
width
- 图标显示宽度height
- 图标显示高度
-
setCarUpFront
public void setCarUpFront(boolean value)
设置小车车头是否向上,设置为true时就能实现地图旋转。要使用地图旋转还需要提前开启整屏绘制功能,即使用
Map.setFullScreenDrawModel(boolean)
, 然后再设置为车头向上,实现地图旋转。目前地图旋转仅支持矢量地图的旋转,而网络地图不能旋转。
当地图为网络地图时,设置参数value=true,返回false,并会输出相应的日志信息; 当地图为矢量地图时,设置参数value=true,返回true; 设置参数value=false,总数返回成功,此时导航中地图不会旋转
使用示范如下:
map.open(mapName); // 打开地图 map.setFullScreenDrawModel(true); // 设置整屏绘制 navigation.setCarUpFront(true); // 设置车头向上,如果通过导航界面中的指南针按钮实现地图旋转,则可以不调用这一句,仅使用上一句即可
- 参数:
value
- 为true时,小车车头朝上;为false时,小车车头与行进的道路 一致
-
setRouteStyle
public void setRouteStyle(GeoStyle value)
设置引导路径的样式- 参数:
value
- 引导路径的样式
-
setSpeedField
public void setSpeedField(java.lang.String value)
设置最高限速字段限速字段是网络数据集(即
setNetworkDataset(com.supermap.data.DatasetVector)
)中的一个记录速度的字段。 要求该字段类型为32位整型或双精度,字段值的单位为km/h;如模拟导航默认速度为18km/h,当行驶速度超过道路最高限速(如10km/h),将通过语音提示已经超速- 参数:
value
- 速度字段名称
-
setDeviateTolerance
public void setDeviateTolerance(double tolerance)
添加导航偏移容限,单位米- 参数:
tolerance
- 导航偏移容限,单位米
-
setSimulationSpeed
public boolean setSimulationSpeed(double speed)
设置模拟导航速度(单位m/s)- 参数:
speed
- 导航速度- 返回:
- 是否设置成功
-
setSimulationInterval
public boolean setSimulationInterval(int interval)
设置模拟导航间隔时间(单位ms)- 参数:
interval
- 导航间隔时间- 返回:
- 是否设置成功
-
addWayPoint
public void addWayPoint(double x, double y)
设置途经点坐标- 参数:
x
- 终点x坐标y
- 终点y坐标
-
setNodeInterval
public void setNodeInterval(double interval)
添加分析点选择容限,单位米(只有当大于0时有效,否则启用默认容限)- 参数:
interval
- 容限
-
getNodeInterval
public double getNodeInterval()
获取分析点选择容限,单位米- 返回:
- 容限
-
setPassedRouteHidden
public void setPassedRouteHidden(Map map, boolean isAutoHidden)
设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用- 参数:
map
- map对象isAutoHidden
- 是否隐藏
-
isPassedRouteHidden
public boolean isPassedRouteHidden()
是否隐藏走过的路线- 返回:
- 是否隐藏
-
setGuideEndDistance
public void setGuideEndDistance(double distance)
设置真实导航(status=0)结束距离。单位米- 参数:
distance
- 结束距离
-
getGuideEndDistance
public double getGuideEndDistance()
获取导航结束距离,单位米- 返回:
- 结束距离
-
removeWayPoint
public void removeWayPoint()
移除所有途经点
-
setBarrierPointsDuringNavi
public void setBarrierPointsDuringNavi(Point2Ds value)
在导航进行中添加障碍点- 参数:
value
- 障碍点集合(参数为null时,为清空障碍点)
-
setSimpleVoiceMode
public void setSimpleVoiceMode(boolean simpleVoiceMode)
设置语音播报为精简模式。
-
isSimpleVoiceMode
public boolean isSimpleVoiceMode()
语音播报是否为精简模式。
-
isUseSensorAzimuth
public boolean isUseSensorAzimuth()
判断真实导航时导航图标方向是否使用传感器方向- 返回:
- true真实导航模式导航图标方向使用传感器方向,false真实导航模式导航图标方向指向最近导航路径方向
-
setUseSensorAzimuth
public void setUseSensorAzimuth(boolean useSensorAzimuth)
设置真实导航时导航时导航图标方向是否使用传感器方向 默认为true,仅真实导航该值有效。- 参数:
useSensorAzimuth
- 设置为true,真实导航模式下导航图标方向跟随手机传感器方向,设置为false,真实导航模式下导航图标方向为最近导航路径方向
-
routeAnalyst
public boolean routeAnalyst(java.lang.String weightFieldName)
最佳路径分析- 返回:
- 最佳路径分析是否成功
-
setWeightFieldInfos
public boolean setWeightFieldInfos(WeightFieldInfos infos)
设置权重字段- 参数:
infos
- 权重字段信息- 返回:
- 是否设置权重字段成功
-
-